/**
 * Copyright (c) 2007,中企动力华南研发中心
 * All rights reserved.
 */
package com.ce.pms.house.dao;

import java.util.List;

import com.ce.pms.base.dao.IPmsBaseDao;
import com.ce.pms.house.model.CoWorkerDomain;
import com.ce.pms.house.vo.CoWorkerVO;
import com.sitechasia.webx.core.support.Page;

/**
 * 功能描述：协作伙伴持久化层
 * @author 罗军林 创建日期：2008-6-30
 */
public interface ICoWorkerDao extends IPmsBaseDao<CoWorkerDomain>{

	/**
	 * 功能描述:根据queryCondition条件查询所有记录，这里是分页查询<br>
	 * 必选项：协作伙伴类型CODE，协作类型value<br>
	 * 用到的数据表CS_CO_WORKER,CS_PARTICIPANT_ROLE,CS_PARTICIPANT,CS_ORGANIZATION<br>
	 * @param queryCondition
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * Create author:罗军林
	 * Create on:2008-7-1
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public Page queryCoWorker(CoWorkerVO queryCondition,int pageNo,int pageSize);

	/**
	 * 功能描述:根据组织名字，协作伙伴类型CODE，协作类型value查询统计记录数<br>
	 * 注：新建判断name的唯一性时，oldName传为null；修改判断name的唯一性时，则需要传入修改前的名字<br>
	 * 用到的数据表CS_CO_WORKER,CS_PARTICIPANT_ROLE,CS_PARTICIPANT,CS_ORGANIZATION
	 * @param queryCondition
	 * @param oldName
	 * @return
	 * Create author:罗军林
	 * Create on:2008-7-2
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public Long countCoWorkerByName(CoWorkerVO queryCondition,String oldName);

	/**
	 * 功能描述:根据协作伙伴类型CODE，协作类型value,参与人ID查询统计记录数<br>
	 *  用到的数据表CS_PARTICIPANT_ROLE,CS_CO_WORKER
	 * @param queryCondition
	 * @return
	 * Create author:罗军林<br>
	 * Create on:2008-7-4<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public Long countCoWorkerByParticipantId(CoWorkerVO queryCondition);

	/**
	 * 功能描述:根据协作伙伴类型查询所有记录,这里为不分页查询<br>
	 * 必选项：协作伙伴类型CODE，协作类型value<br>
	 * 可选项：coWorkerIDs，此字段为协作伙伴ID集，格式形如：1,2,3；
	 *       如果此选项按规则设置了，含有这些ID的将不在结果集中，且必有按规则组织，否则将报错<br>
	 * 用到的数据表CS_CO_WORKER,CS_PARTICIPANT_ROLE,CS_PARTICIPANT,CS_ORGANIZATION<br>
	 * @param queryCondition
	 * @return
	 * Create author:罗军林<br>
	 * Create on:2008-7-8<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public List queryAllCoWorkerByCoWorkerType(CoWorkerVO queryCondition);
}
